﻿; ------------------------------------------------------------------------------
; Test instrucción PID
;
; 2014 - Bellplast S.R.L.
; ------------------------------------------------------------------------------
		MOVE ea2, Temperatura				;Medición PT100 -> Temperatura
		MOVE 5, TipoLin						;Modo PT100
		
		LD Init
		JMPC Inicial						;Salta solo una vez
		
; On / Off  -  Quite comentario a esta sección para cambiar de modo
;		ld Temperatura
;		gt SP
;		r PID_Out
;		ld SP
;		sub 10								;Histéresis 1°C
;		gt Temperatura
;		s PID_Out
;		end
		
		; Temporizador para ejecutar la instrucción PID periodicamente
		LD puls_c1seg						;En 1 solo una vuelta de programa cada segundo
		LD 0
		CTU cntPID, 10						;Cada 10" ejecuta el control
		CMOV 0, cntPID						;Reset tiempo invocación periódica PID
		CALC CtrlPID						;LLama al control (cada 10") --->
		
		; Conversión de la salida del PID a modulación de ancho de pulso
		LD 1								;Activa OSCV
		OSCV tpSalPID, SalPID, 10.0			;Convierte a tiempo
		ST PID_Out							;Relé de salida

		END
		
CtrlPID	LD Temperatura						;Control <---
		PID SP, BP, 100, TI, Vi, Ri			;100 corresponde a un timer de 10" de tiempo
		ST SalPID							;SalPID es la salida del PID, que se convertirá a tiempo
		RET									;Retorno --->
	
; Inicial se ejecuta solo una vez porque depende 
; de la variable de estados 'Init'
; Modifique estos valores a su necesidad
Inicial	MOVE 1600, SP						;Temperatura deseada en décimas de grado
		MOVE 887, BP						;Valor banda proporcional calculado según mediciones
		MOVE 30, TI							;Valor tiempo integral calculado según mediciones
		END